The Internet has had an explosive impact on the telecommunications businesses of the world in the recent past, and a need has developed for worldwide access for Internet Services. However, many potential users cannot gain access to the Internet due to lack of telecommunications in rural and wilderness areas. Low Earth Orbit (LEO) mobile satellite systems (LEO-MSS) are now in the early stages of introduction. However, the data rates offered by these systems are typically below 9600 Bps and are therefore are not suited for an Internet application which typically requires speeds of at least 56000 Bps or higher.
In the past LEO-MSS systems have developed around connection oriented systems, modeled after the telephone system. Conventionally, to communicate to someone a number is dialed and a connection is established through a number of switches, after which communications is passed via that dedicated connection path, until that traffic is finished, after which the connection is released. The essential aspect of a connection is that it acts like a tube: i.e., the sender places objects (bits) into one end, and the receiver takes them out of the other end. The IRIDIUM™ system acts in this manner, with the switching system in space for defining a route via from one to many satellites from a user to a dedicated downlink, from a specified satellite to a specified gateway, the specification of which depends on the sender's selection of destination as indicated by a number that is dialed.
In contrast, a connection-less service is modeled after the postal system. Each message carries the full source and destination address, and each one is routed through the system independent of all the others. Normally, when two messages are sent to the same destination, the first one sent will be the first one to arrive. However, it is possible that the first one sent will be delayed such that the second one arrives first. With a connection oriented service this is impossible.
It should be noted that not all applications require connections, and services and protocols are distinct concepts. In general a service is a set of operations that a network layer (a layer is the organization of a network) performs, wherein one computer (or machine) carries on a conversation with another computer (or machine), and may provide input to another layer above it. The service defines what operations the layer is prepared to perform on behalf of its users. A protocol, in contrast, is a set of rules governing the format and meaning of the frames, packets, or messages exchanged by peer entities within a layer. For example, the OSI (Open Systems Interconnection) model has seven layers, a Physical Layer (Layer 1) consisting of the physical equipment, and a Data Link Layer (Layer 2) which breaks the input data into data frames which are transmitted sequentially and processes any acknowledgement frames sent back by the receiver. In addition, there is a Network Layer (Layer 3), which determines how packets are routed from source to destination, which controls congestion due to too many packets, and in some cases accounts for how many packets or bits are sent. There is also a Transport Layer (Layer 4) which accepts data from a Session Layer (described next), splits it up into smaller units if needed, passes them to the network layer, and decides on what type of service to provide the session layer, including multiplexing several message streams onto one channel. In addition the Transport Layer takes care of establishing and deleting connections across the network, and provides flow control. The Session Layer (Layer 5) allows users on different machines (computers) to establish sessions between them. A session allows data transport and provides enhanced services useful in some applications, such as remote login to a remote timesharing system or to transfer a file between two machines. The Session Layer can provide token management if necessary, and synchronization services for file transfer. The Presentation Layer (Layer 6) performs and enables functions of a general nature that are often requested, such as encoding data in a standard method. The Application Layer (Layer 7) contains a variety of protocols that are commonly needed due to incompatible hardware or software.
The widespread use of TCP/IP as the protocol used to connect multiple networks together has employed the above described OSI model. The requirements of the packet network called the “Internet” led to a connection-less internetwork layer referred to as the Internet Layer, equivalent to the “Network Layer” of the OSI model, wherein the function of the layer is to deliver IP (the official packet format and protocol of this layer) packets where they are intended to go. The Presentation and Session Layers are generally not present in the TCP/IP model. The Transport layer is present in the TCP/IP model and has two end-to-end protocols defined. The first one is the TCP (Transmission Control Protocol) which provides a byte stream originating on one machine to be delivered without error on another in the Internet. The TCP fragments the incoming byte stream into discrete messages and passes each one onto the Internet Layer. At the destination the receiving TCP process reassembles the received messages into the output stream. The TCP also handles flow control to ensure that a fast sender cannot swamp a slow receiver with more messages than it can handle. The second protocol is known as UDP (User Datagram Protocol), which is an unreliable single shot protocol used for applications that do not want sequencing or flow control.
The Application Layer is included in the TCP/IP model and contains all the higher level protocols such as TELNET, electronic mail (SMTP), Domain Name Service (DNS), Hyper Text (HTTP), which is a protocol useful for fetching pages on the World Wide Web (WWW), and many others. The use of TCP/IP is optimized for the Internet and connection-less systems.
The end delivery of messages utilizing TCP/IP can be over a connection system such as one shown in FIG. 1A. In this example, a connection is made from the user to a satellite, which is switched according to a route or path to another satellite with a switching unit, which in turn can switch the connection to another satellite or to a gateway. The gateway in turn is connected by a switch to an Internet Service Provider (ISP) which provides a connection to the Internet via a router. This router, acting on information in the traffic packets provided to it, then routes the packets via the Internet to a host router and thence to a host server where the packets are delivered.
Many previously proposed LEO-MSS systems have been connection-based systems. GLOBALSTAR™ is a satellite system which is switch based, with the switch being located in the gateway. IRIDIUM™ is a satellite system which is switch based, with the switch being located in the satellite. The IRIDIUM™ system uses satellite-to-satellite switched links to establish a connection between a user and another user, or a user and a telephone connected to the Public Switched Telephone System. This is made clear in U.S. Pat. No. 5,410,728, which defines a communication system that includes satellite switches in space, where the satellite switches route the call through the appropriate satellites. The optimum path for the communications is determined by each satellite from itself to the next appropriate satellite. The data or voice is received on a Frequency Division Multiplexed (FDM) basis, demodulated, and then (in the satellite) packetized. The Inter-Satellite Links (ISLs) provide various paths that can be chosen by the satellites to use, however, only one single path is chosen. The paths are chosen by the satellite based on the office code portion of the telephone number of the called user, and a single path is developed based on the telephone number, as the call is “cross-linked” from one satellite to another.
Typically a connection based system utilizes the Public Switched Telephone Network (PSTN) based on various relay technologies. The early versions of the PSTN used analog techniques. Later the Frame Relay added services which provided a bare-bones connection-oriented way to move bits from point A to point B at reasonable speeds. Frame Relay can be best thought of as a virtual leased line. The difference between a leased line and a virtual leased line is that users can lease virtual circuits between two points and send packets of up to 1600 bytes between them. The Frame Relay provides a way to determine the start and end of each frame, but does not provide acknowledgements or flow control. Alternatively, the broadband integrated services digital network (typically referred to as B-ISDN) may be used. B-ISDN employs an Asynchronous Transfer Mode (ATM) which transmits all information in small, fixed-size packets referred to as cells, each of which is 53 bytes in length. ATM uses cell switching technology, and is a clear break with traditional circuit switching. ATM networks are connection oriented, and making a call requires first sending a message to set up the connection.
In any case, from the point of view of the PSTN the system is divided into two parts, i.e., local loops and trunks. A local loop may be a local exchange which includes a home telephone, or it may be a cellular telephone system, or a mobile satellite system gateway to the user. Generally, it connects a user's device to a switch of some sort. In the case of satellite mobile systems the user is connected to a mobile telephone switching office (an MTSO), also called a MSC (mobile switching center), via a satellite. The satellite may or may not have on-board switching as described above.
Alternatively, a connection less system or packet switched system is not necessarily connected through the PSTN, but may use portions of it for the transport of traffic packets. Typically, the user encodes the packets with TCP/IP information and transmits the packets into the Internet via a router. A router, which is considerably different in architecture than a circuit switch, operates on the network layer of OSI (called the Internet layer of TCP/IP) to deliver packets from the source to the destination. The IP protocols in a connection less system or packet switched system therefore, are imposed on each packet, wherein each packet carries the full destination address. This is because each packet sent is carried independently of its predecessors, if any. This is clearly the opposite of a circuit-switched system, wherein packets are not necessarily identified, nor do they need to be, since the path between the two ends of the transmission circuit do not vary (while virtual circuits may be setup as in frame relay or ATM they are essentially fixed with respect to the user, and do not require that the user encode his packets with any information as to routing).
In the case of the IRIDIUM™ system described above the user dials a number, and that number is used within the satellite to define a path. The user need not packetize his transmission, since that will be accomplished in the satellite. A difference between a connection based system and a connection-less system is thus whether or not a call set up is required. In the case of a connection based system a call setup is required, while it is not required for a connection-less system.
There exist today two examples of the two types of telecommunications systems in common usage. The Internet represents a connection-less based system while the PSTN, with its ATM networks, represents a connection based system. The Internet can work over the PSTN's ATM network by having the source host first establish an ATM network layer connection to the destination host, and by then sending independent IP packets over it. However, the typical PSTN services of telephony in general cannot be sent over the Internet directly.
In a connection-less system, successive packets may follow different routes. The independent packets of the connection-less system are called datagrams. For the case of datagram usage, routers have a table describing which output port to use for each possible destination router. In contrast, connection-based switches which setup virtual or real circuits maintain a table with one entry per open virtual (or real) circuit passing through it. Each packet traveling through the network must contain a virtual circuit number field in its header, in addition to sequence numbers, checksums and the like. Returning now to the datagram in a connection-less system, when a packet arrives the router looks up in the table the output port to use and sends the packet on its way. The establishment and release of transport layer connections does not require any special work on the part of the routers. Various routing algorithms are used to route packets from the source machine to the destination machine. In most networks, packets will require multiple hops to make the journey. The routing algorithm that is part of the network layer software is responsible for deciding which output port an incoming packet should be transmitted on. The internal decisions on routing are made anew for every arriving packet, since the best route may have changed since the last arrival of the last packet. The routing algorithms are designed for correctness, simplicity, robustness, stability, fairness, and optimality. Routing algorithms may be Non-adaptive or Adaptive. Non-adaptive algorithms do not base their decisions on measurements or estimates of current traffic or topology, while Adaptive reflect changes and are dynamic.
At the network layer, the Internet can be viewed as a collection of sub-networks that are connected together. There is no real structure, but many backbone networks, high bandwidth lines, and fast routers. Attached to the backbones are regional, national and commercial networks, and attached to these networks are various Local Area Networks (LANs) at many universities, companies, and Internet Service Providers (ISPs). FIG. 2 shows this quasi-hierarchical organization. The enabling protocol that holds the Internet together is the network layer protocol referred to as the IP (Internet Protocol).
Communication in the Internet works as follows. The Transport Layer takes data streams and breaks them up into datagrams. In theory, datagrams can be up to 64 Kbytes in length, but are typically only about 1.5 Kbytes in length. Each datagram is transmitted through the Internet, and may be fragmented into smaller units as it goes. When all the pieces finally arrive at the destination machine they are reassembled by the Network Layer into the original datagram. This datagram is then handed to the Transport Layer, which inserts it into the receiving process's input stream. Every host and router on the Internet has a 32-bit IP address, which encodes its network number and host number, the combination for each host and router being unique. A user on one network can send a packet to a user on another network by using this address. Not to be confused as a telephone number, which is used to set up a call over a specific route and to provide billing information, the IP address is instead analogous to that of a mail box, wherein each message is provided the address, with the actual route of delivery being optional.
The system operates in the following manner. The user wanting to send a packet first determines the IP address of the destination. This is accomplished by using a system known as the Domain Name System (DNS). The upper layer software on the user's machine builds a packet with the IP address for the receiving machine, and gives it to the IP software to transmit. In general, the host network then outputs a broadcast message requesting who owns that address. When the receiving machine is local, it responds with an Address Resolution Protocol (ARP) reply to the ARP request by the sending machine. The ARP reply contains the physical address of the receiving machine. At this point, the IP software builds a frame addressed to the receiving machine, puts the IP packet in the payload field, and places the frame onto the network. The receiving machine reads the frame, and the software on the receiving machine then extracts the IP packet from the frame, and passes it to the IP software, where it determines if is properly addressed, and processes it to extract the message. Various optimizations of ARP and mapping of networks have been derived, however, this simple method serves as an adequate illustration. Sending packets from the user to very distant networks is similar, except that the router's lookup tables tell it to use a Wide Area Network (WAN) Router, and it chooses to route the packet onto a network other than the local one.
As should be evident, the routers perform the task of moving packets through the network. There are, at this time, four classes of routers; Internal Routers (wholly within one area), Area Border Routers (which connect two or more areas), Backbone Routers (on the backbone), and Autonomous System Routers (for communicating between other autonomous systems). These classes overlap, with border routers automatically being part of the backbone, etc. These routers exchange information with one another during normal operation. These messages allow the routers to discover who its neighbors are, provide the sender's costs to its neighbors, acknowledge link states, announce updates, and request information from neighbor routers. Packets are transmitted over these networks, with various routers operating on each packet to determine its path to the destination. Since following packets, with the same address, may be passed through different routers depending on various factors, such as traffic loading, availability, etc., it may be possible that the following packets arrive earlier than the previous ones. The software at the network layer then rearranges these packets into the correct order. This situation, as discussed before, is not possible with the connection-oriented system utilizing switches, as each packet would follow the preceding packet from end of the connection to the other.
A different type of satellite-based telecommunications system is described in, for example, U.S. Pat. No. 5,736,959, “Earth-Fixed Cell Beam Management for Satellite Communication System Using Dielectric Lens-Focussed Scanning Beam Antennas”, by Patterson et al.; U.S. Pat. No. 5,740,164, “Traffic Routing for Satellite Communication System”, by Liron; and U.S. Pat. No. 5,796,715, “Non-Blocking Dynamic Fast Packet Switch for Satellite Communication Systems”, by Patterson et al. This system employs datagram switching with cross-linked satellites and satellites that contain packet switches, wherein at each node of the system delay vectors are calculated to estimate a time delay that a given packet will experience along various paths, and the packet is routed to the destination via the pathway that insures both the lowest end-to-end delay and the best overall traffic management of the network. The routing algorithm is said to be an adaptive dynamic distributed routing algorithm where packets are switched through the network in a store and forward fashion. Both satellites and gateways may possess routing capabilities. Based on position information relating to neighboring satellites and expected delay information, an adaptive routing processor selects the ‘best’ pathway from a particular satellite to a single neighboring satellite, and the packet is then moved through internal switch circuitry on the satellite to the next satellite.